/**
 * 全局PLM项目Store
 * 作为桥接文件，指向PLM项目内的实现
 */

// 尝试加载项目内的plm_project_store
let plmProjectStore;

try {
  // 优先从项目内部加载实现
  plmProjectStore = require('../../../projects/plm/store/plm_project_store.js');
  console.log('成功加载PLM项目内部实现');
} catch (e) {
  console.error('从全局路径加载PLM项目内部Store失败，使用空实现', e);
  
  // 提供简单的空实现
  plmProjectStore = {
    // 状态定义
    loading: false,
    error: null,
    projects: [],
    pagination: { page: 1, size: 20, total: 0, hasMore: false },
    filters: {
      status: 'all',
      keyword: '',
      cate: 0
    },
    
    // 计算属性
    get filteredProjects() {
      return this.projects;
    },
    
    get projectCount() {
      return 0;
    },
    
    // 空方法实现
    async getProjectList() {
      console.warn('使用全局空实现的getProjectList');
      return { list: [], total: 0 };
    },
    
    async loadMoreProjects() {
      console.warn('使用全局空实现的loadMoreProjects');
      return false;
    },
    
    setFilters() {
      console.warn('使用全局空实现的setFilters');
    },
    
    clearAllCache() {
      console.warn('使用全局空实现的clearAllCache');
    },
    
    formatProject(project) {
      console.warn('使用全局空实现的formatProject');
      return project;
    },
    
    getStatusText() {
      console.warn('使用全局空实现的getStatusText');
      return '未知状态';
    },
    
    async getProjectDetail() {
      console.warn('使用全局空实现的getProjectDetail');
      return null;
    },
    
    createEmptyProject() {
      console.warn('使用全局空实现的createEmptyProject');
      return {
        id: '',
        name: '',
        status: 1,
        startTime: new Date().toISOString().split('T')[0],
        endTime: new Date().toISOString().split('T')[0]
      };
    }
  };
}

// 导出模块
module.exports = plmProjectStore; 